home *** CD-ROM | disk | FTP | other *** search
- PROGRAM TermDemo;
-
- VAR
- Event : EventRecord; { event record structure instance } whatHappened : EventStuff; { event detail structure instance } appleMenu,fileMenu,editMenu : MenuHandle; { handles for std menus } PortA : SerialPort; { serial port data structure }
- wPtr : WindowPtr;
- termPtr : TermData^;
-
- BEGIN
- XTCommInit; { init Toolbox managers, Extender }
- termPtr := CrtTermWindow(Nil); { create term window and record }
- InitSPort(@PortA,'A'); { open and init modem serial port }
-
- PortA.baud := baud1200; {1200baud transmission rate }
- PortA.parity := noparity; {set character parity to none }
- PortA.stopbits := stop20; {set to 2 stopbits per character }
- PortA.databits := data8; {set to 8 databits per character }
- SetSPort(@PortA); {set modem port to above values }
-
- PortA.inbufsize := 2048; {set input buffer to 1024 bytes (1K) }
- PortA.in := NewPointer(Ord4(2048)); {set address of input buffer }
- PortA.outbufsize := 0; {leave output buffer untouched }
- SetBufSPort(@PortA); {set modem port to above values }
-
- termPtr^.commPort:= @PortA; {link term window and modem port }
- wPtr := termPtr^.commWindow; {save term WindowPtr for later use }
- ShowWindow(wPtr); {make term window visible, active }
-
- REPEAT
- REPEAT
- CheckPort(termPtr); { check for chars arriving at port }
- SystemTask; { slice of cpu time for DAs } UNTIL GetNextEvent(everyEvent,Event); { until event occurs }
-
- HandleEvent(Event,whatHappened);
-
- UNTIL ExitRequest(whatHappened);
- KillWindow(wPtr); { remove window & data structures }
- ResetSPort(@PortA); { release serial port driver }
- END.
-
-